In logistics operations, such as manufacturing, postal, or otherwise, machine-readable codes, hereinafter “codes,” generally in the form of barcodes, are widely used to provide for counting and tracking of inventory. The codes are generally applied to objects, such as parcels, and are often transported on conveyor belts and other conveyer systems. Although typically in the form of machine-readable codes, the codes may also be in the form of symbols, alphanumeric indicia, or other form, as further described herein, that may be image processed and identified by a machine, and, thus, considered to be machine-readable codes (“codes”). Because it is typically unknown exactly where the codes will appear on the objects as the objects are transported on a conveyor belt or other forms of transport, an imaging device is positioned at a long-range distance (e.g., 1 m-2.5 m). The camera, such as a linear or standard camera, is used to read the codes positioned on the objects, and a linear image may be captured by linearly scanning an object as the object passes in front of the camera or the camera is moved past an object.
Reading codes on objects that are being conveyed is a challenge for a number of reasons. Such reasons include, but are not limited to, uncertainty of location of barcodes on the items, speed of the items moving relative to a barcode reader, height variation of the objects, image resolution of an image sensor, and so forth. To read a code in these types of applications generally includes a large viewing area of a camera, which may be a linear camera or regular imaging camera. A large viewing area is generally a problem for reading codes because resolution is reduced due to distance of a camera from the object on which the codes are positioned. Less resolution for imaging a code is problematic because lines or other indicia of the codes are closely spaced, and lower resolution causes spaces between the lines or other indicia to be degraded or lost entirely.
One way to improve resolution of an image device used to image codes is to use a sensor with many pixels, such as 40,000 pixels. However, such a sensor is expensive. Another way to address the problem of pixel resolution has been by using multiple cameras with less resolution to image objects across the entire conveyor belt. However, use of multiple cameras, such as three or four cameras to cover the width of a conveyor belt, is expensive and requires processing of images collected by each camera. Another technique to image the codes moving relative to a camera that has been considered includes using a tip/tilt mirror or moving the imaging device relative to the object with the code. The problem with moving a mirror or imaging device is that the conveyor belt on which the objects move is very fast, generally 600 feet/minute or 3.3 meters/second, so mechanics can be difficult to move fast enough to scan an entire region of interest inclusive of the codes. The use of zoom lenses is also possible to increase resolution of a camera, but zoom lenses require moving parts and can be a challenge when imaging moving items.